$(function() {
		$("#dlgSelectGallery").dialog({bgiframe: true,height: 270,width: 400,modal: true,autoOpen: false});
		$("#dlgSelectGalleryItem").dialog({bgiframe: true,height: 270,width: 400,modal: true,autoOpen: false});
		$("#dlgUploadPrice").dialog({bgiframe: true,height: 270,width: 400,modal: true,autoOpen: false});
		$("#dlgAttacheFile").dialog({bgiframe: true,height: 270,width: 400,	modal: true,autoOpen: false, 
			buttons: {
				"Отмена":function() {$("#dlgAttacheFile").dialog("close");}, 
				"OK":function() {
					var ifrm = document.getElementById("ifrmAttacheFile");
					var win = ifrm.contentWindow;
					for (i = 0; i < win.document.forms['main'].elements.length; i++)
					{
						var item = win.document.forms['main'].elements[i];
						if ((item.name == "name[]") && (item.checked))
							itemcard.OnFileSelected(item.value);
					}
					$("#dlgAttacheFile").dialog("close");
				}
			}
		});
	});
//-----------------------------------------------------------------------------------------
// Модуль catalogue
//-----------------------------------------------------------------------------------------
var itemcard = {
	BlocksCount : 0, //кол-во блоков
	ItemId : -1, //идентификатор редактируемого товара
	AfterObjectId : 0, //Объект после которого выполнится операция вставки
	InsertBlock : function(id,block)
	{
		e = document.getElementById('block'+id);
		if (e!=null)
			e.insertAdjacentHTML('afterEnd',block);
		else
			alert('Не могу найти элемент block'+id);
	},
	DeleteBlock : function(id)
	{
		e = document.getElementById('block'+id);
		if (e!=null) 
			e.removeNode(true);
		else
			alert('Не могу найти элемент block'+id);
		return false;
	},
	/*
	prevId - id блока после которого будет вставлен блок с id;
	id - id нового блока
	*/
	_changeBlockOrder : function(prevId,id)
	{
		if (prevId==id) return;
		e1 = document.getElementById('blocksOrder');
		if (e1!=null)
		{
			oldOrder = e1.value;
			newOrder = '';
			if (prevId==0) 
			{
				id = id + ",";
				ind = oldOrder.indexOf(id);
				newOrder = (ind!=-1)? oldOrder.substr(0,ind) + oldOrder.substr(ind+id.length) : oldOrder;
				newOrder = id+newOrder;
			}
			else
			{
				prevId = prevId+",";
				id = id + ",";

				ind = oldOrder.indexOf(id);
				newOrder = (ind!=-1)? oldOrder.substr(0,ind) + oldOrder.substr(ind+id.length) : oldOrder;
				
				ind = newOrder.indexOf(prevId);
				if (ind!=-1)
					newOrder = newOrder.substr(0,ind+prevId.length)+id+newOrder.substr(ind+prevId.length);
				else
					alert('В строке "'+newOrder+'" не найдена подстрока "'+prevId+'"');
			}
			//alert(newOrder);
			e1.value = newOrder;
		}
		else alert('Элемент blocksOrder не найден');
	},
	CreateTextBlock : function(id)
	{
		return '<div id="block'+id+'"><label><a onclick="return itemcard.DeleteBlock('+id+');">Удалить</a><br /><a onclick="return itemcard.InsertTextBlock('+id+');">Вставить текст<br /><a onclick="return itemcard.InsertPriceListBlock('+id+');">Вставить прайс</a> <a onclick="return itemcard.InsertAttachedFileBlock('+id+')">Вставить файл</a><br /></label><textarea cols="95" rows="30" id="cpt'+id+'" name="cpt'+id+'"></textarea><br /></div>';
	},
	CreatePriceListBlock : function(id,recID,filename,sheets)
	{
		var result = '<div id="block'+id+'"><label>Прайс-лист<br /></label><div><input type="hidden" name="cpp'+id+'" value="'+recID+'"><a href="index.php?module=catalogue&action=getpricexml&pID='+recID+'&fn='+filename+'&id='+this.ItemId+'">'+filename+'</a>&nbsp;<a onclick="return itemcard.DeleteBlock('+id+');">Удалить</a> <a onclick="return itemcard.InsertTextBlock('+id+');">Вставить текст</a> <a onclick="return itemcard.InsertPriceListBlock('+id+');">Вставить прайс</a> <a onclick="return itemcard.InsertAttachedFileBlock('+id+')">Вставить файл</a><br />';
		if (sheets!=null)
		{
			result += 'Листы в прайсе:<br />';
			for(i=1;i<=sheets.length;i++)
				result += '<input type="text" name="cpp'+id+'_'+i+'" value="'+sheets[i-1]+'" size="70"><br />';
		}
		result += '</div></div>';
		return result;
	},
	CreateAttachedFileBlock : function(id,link,name)
	{
		return '<div id="block'+id+'"><label>Файл<br /></label><div style="margin-left: 11em;"><input type="hidden" name="cpfl'+id+'" value="'+link+'"><input type="text" name="cpfn'+id+'" value="'+name+'" size="70"><a onclick="return itemcard.DeleteBlock('+id+');">Удалить</a> <a onclick="return itemcard.InsertTextBlock('+id+');">Вставить текст</a> <a onclick="return itemcard.InsertPriceListBlock('+id+');">Вставить прайс</a> <a onclick="return itemcard.InsertAttachedFileBlock('+id+')">Вставить файл</a>	</div><br /></div>';
	},
	InsertTextBlock : function(prevId)
	{
		this.BlocksCount++;
		block = this.CreateTextBlock(this.BlocksCount);
		this.InsertBlock(prevId,block);
		this._changeBlockOrder(prevId,this.BlocksCount);
	},
	InsertPriceListBlock : function(prevId)
	{
		this.AfterObjectId = prevId;
		$("#ifrmUploadPrice").attr('src','index.php?module=catalogue&action=uploadprice&id='+this.ItemId);
		$("#dlgUploadPrice").dialog('open');
		return false;
	},
	InsertAttachedFileBlock : function(prevId)
	{
		this.AfterObjectId = prevId;
		$("#dlgAttacheFile").dialog('open');
		//this.EnableTransparent(true);
		/*fileIframe = document.getElementById('addInFrame');
		fileIframe.style.visibility = 'visible';
		fileIframe.style.width = '600px';
		fileIframe.src = 'index.php?module=explorer&popup=';
		fileIframe.scrolling="auto";
		*/
		return false;
	},
	ChooseGallery : function()
	{
		$("#ifrmGallery").attr('src','index.php?module=gallery');
		$("#dlgSelectGallery").dialog('open');
		return false;
	},
	ChooseGalleryPicture : function()
	{
		var galID = $("#galleryID").attr('value');
		$("#ifrmGalleryItem").attr('src','index.php?module=gallery&action=editgal&id='+galID);
		$("#dlgSelectGalleryItem").dialog('open');
		return false;
	},
	OnFileSelected : function(file)
	{
		this.BlocksCount++;
		block = this.CreateAttachedFileBlock(this.BlocksCount,'/downloads/catfiles/'+file,file);
		this.InsertBlock(this.AfterObjectId,block);
		this._changeBlockOrder(this.AfterObjectId,this.BlocksCount);
	},
	OnGallerySelected : function(galID)
	{
		$("#galleryID").attr('value',galID);
		$("#dlgSelectGallery").dialog('close');
	},
	OnGalleryPictureSelected : function(pictureID)
	{
		$("#picture").attr('value',pictureID);
		$("#dlgSelectGalleryItem").dialog('close');
	},
	OnPriceListUploaded : function(file,recID,sheets)
	{
		$("#dlgUploadPrice").dialog('close');
		this.BlocksCount++;
		block = this.CreatePriceListBlock(this.BlocksCount,recID,file,sheets);
		this.InsertBlock(this.AfterObjectId,block);
		this._changeBlockOrder(this.AfterObjectId,this.BlocksCount);	
	},
	EnableTransparent : function(enable)
	{
		e = document.getElementById('transparent');
		if (e==null) {alert('Не могу найти элемент transparent'); return;}
		e.style.visibility = enable ? 'visible' : 'hidden';
	},
	test: function()
	{
	}
};
/* Вызывается document'ом в iframe, когда документ загрузился. 
Кол-во аргументов произвольное-зависит от модуля
*/
function PageLoaded()
{
	win = arguments[0]?arguments[0]:null;
	module = arguments[1]?arguments[1]:'';
	if (module=='explorer')
	{
		/*sel = arguments[2]?arguments[2]:'';
		if (sel=='selected')
		{
			for (i = 0; i < win.document.forms['main'].elements.length; i++)
			{
				var item = win.document.forms['main'].elements[i];
				if ((item.name == "name[]") && (item.checked))
					itemcard.OnFileSelected(item.value);
			}
			itemcard.EnableTransparent(false);
			uploadIframe = document.getElementById('addInFrame');
			uploadIframe.style.visibility = 'hidden';
		}
		else
			win.document.write('<button onclick="parent.PageLoaded(window,\'explorer\',\'selected\');">OK</button>');
		*/
	}
	else if (module=='gallery')
	{
		sel = arguments[2]?arguments[2]:'';
		if (sel=='selected')
		{
			for (i = 0; i < win.document.forms['main'].elements.length; i++)
			{
				var item = win.document.forms['main'].elements[i];
				if ((item.name == "id[]") && (item.checked))
				{
					itemcard.OnGallerySelected(item.value);
					break;
				}
			}
		}
		else
		{
			win.document.write('<button onclick="parent.PageLoaded(window,\'gallery\',\'selected\');">OK</button>');
		}
	}
	else if (module=='gallery.items')
	{
		sel = arguments[2]?arguments[2]:'';
		if (sel=='selected')
		{
			for (i = 0; i < win.document.forms['items'].elements.length; i++)
			{
				var item = win.document.forms['items'].elements[i];
				if ((item.name == "itemId[]") && (item.checked))
				{
					itemcard.OnGalleryPictureSelected(item.value);
					break;
				}
			}
		}
		else
		{
			win.document.write('<button onclick="parent.PageLoaded(window,\'gallery.items\',\'selected\');">OK</button>');
		}
	}
	else if (module=='catalogue')
	{
		action = arguments[2]?arguments[2]:'';
		if (action=='uploadprice')
		{
			file = arguments[3]?arguments[3]:'';
			recID = arguments[4]?arguments[4]:'';
			sheets = arguments[5]?arguments[5]:null;
			itemcard.OnPriceListUploaded(file,recID,sheets);
		}
	}
}